/* 
 *  Syntelos XB
 *  Copyright (C) 2006 John Pritchard.
 *
 *  This program is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU General Public License as
 *  published by the Free Software Foundation; either version 2 of
 *  the License, or (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 *  02111-1307 USA
 */

package syntelos.xb;

/**
 * <p> Exceptions from <code>syntelos.xb</code>. </p>
 * 
 * @author John Pritchard (jdp@syntelos.com)
 */
public class Error
    extends syntelos.iou.dom.Error
{

    /**
     * <p> Unintended state, incorrect operation. </p>
     */
    public final static class Bug 
        extends Error
    {
        public Bug(){
            super(ELE_NIL,THR_NIL,STR_NIL);
        }
        public Bug(String msg){
            super(ELE_NIL,THR_NIL,msg);
        }
        public Bug(Throwable thrown){
            super(ELE_NIL,thrown,STR_NIL);
        }
        public Bug(Throwable thrown, String msg){
            super(ELE_NIL,thrown,msg);
        }
        public Bug(syntelos.iou.dom.Node re){
            super(re,THR_NIL,STR_NIL);
        }
        public Bug(syntelos.iou.dom.Node re, String msg){
            super(re,THR_NIL,msg);
        }
        public Bug(syntelos.iou.dom.Node re, Throwable thrown){
            super(re,thrown,STR_NIL);
        }
        public Bug(syntelos.iou.dom.Node re, Throwable thrown, String msg){
            super(re,thrown,msg);
        }
    }

    /**
     * <p> Input class file format error. </p>
     */
    public final static class Format 
        extends Error
    {
        public Format(){
            super(ELE_NIL,THR_NIL,STR_NIL);
        }
        public Format(String msg){
            super(ELE_NIL,THR_NIL,msg);
        }
        public Format(Throwable thrown){
            super(ELE_NIL,thrown,STR_NIL);
        }
        public Format(Throwable thrown, String msg){
            super(ELE_NIL,thrown,msg);
        }
        public Format(syntelos.iou.dom.Node re){
            super(re,THR_NIL,STR_NIL);
        }
        public Format(syntelos.iou.dom.Node re, String msg){
            super(re,THR_NIL,msg);
        }
        public Format(syntelos.iou.dom.Node re, Throwable thrown){
            super(re,thrown,STR_NIL);
        }
        public Format(syntelos.iou.dom.Node re, Throwable thrown, String msg){
            super(re,thrown,msg);
        }
    }

    /**
     * <p> Usage error, or other conflict violates operational
     * requirements. </p>
     */
    public final static class State
        extends Error
    {
        public State(){
            super(ELE_NIL,THR_NIL,STR_NIL);
        }
        public State(String msg){
            super(ELE_NIL,THR_NIL,msg);
        }
        public State(Throwable thrown){
            super(ELE_NIL,thrown,STR_NIL);
        }
        public State(Throwable thrown, String msg){
            super(ELE_NIL,thrown,msg);
        }
        public State(syntelos.iou.dom.Node re){
            super(re,THR_NIL,STR_NIL);
        }
        public State(syntelos.iou.dom.Node re, String msg){
            super(re,THR_NIL,msg);
        }
        public State(syntelos.iou.dom.Node re, Throwable thrown){
            super(re,thrown,STR_NIL);
        }
        public State(syntelos.iou.dom.Node re, Throwable thrown, String msg){
            super(re,thrown,msg);
        }
    }

    /**
     * <p> Usage error violates input requirements. </p>
     */
    public final static class Argument
        extends syntelos.iou.dom.Error.Argument
    {
        public Argument(){
            super(ELE_NIL,THR_NIL,STR_NIL);
        }
        public Argument(String msg){
            super(ELE_NIL,THR_NIL,msg);
        }
        public Argument(Throwable thrown){
            super(ELE_NIL,thrown,STR_NIL);
        }
        public Argument(Throwable thrown, String msg){
            super(ELE_NIL,thrown,msg);
        }
        public Argument(syntelos.iou.dom.Node re){
            super(re,THR_NIL,STR_NIL);
        }
        public Argument(syntelos.iou.dom.Node re, String msg){
            super(re,THR_NIL,msg);
        }
        public Argument(syntelos.iou.dom.Node re, Throwable thrown){
            super(re,thrown,STR_NIL);
        }
        public Argument(syntelos.iou.dom.Node re, Throwable thrown, String msg){
            super(re,thrown,msg);
        }
    }

    public Error(){
        super(ELE_NIL,THR_NIL,STR_NIL);
    }
    public Error(String msg){
        super(ELE_NIL,THR_NIL,msg);
    }
    public Error(Throwable thrown){
        super(ELE_NIL,thrown,STR_NIL);
    }
    public Error(Throwable thrown, String msg){
        super(ELE_NIL,thrown,msg);
    }
    public Error(syntelos.iou.dom.Node re){
        super(re,THR_NIL,STR_NIL);
    }
    public Error(syntelos.iou.dom.Node re, String msg){
        super(re,THR_NIL,msg);
    }
    public Error(syntelos.iou.dom.Node re, Throwable thrown){
        super(re,thrown,STR_NIL);
    }
    public Error(syntelos.iou.dom.Node re, Throwable thrown, String msg){
        super(re,thrown,msg);
    }

}
